/* Copyright Thanh-Trung Pham, JAIST, 2013 */

package jp.ac.jaist.model.markov;

/**
 * @author Thanh-Trung Pham
 */
public class RMPIMarkovTransition {

    private RMPIMarkovState m_oSourceState;
    private RMPIMarkovState m_oDestinationState;
    private double m_dTransitionProbability;


    /**
     * The constructor.
     *
     * @param sourceState           the source state.
     * @param destinationState      the destination state.
     * @param transitionProbability the transition probability.
     */
    public RMPIMarkovTransition(RMPIMarkovState sourceState, RMPIMarkovState destinationState, double transitionProbability) {
        m_oSourceState = sourceState;
        m_oDestinationState = destinationState;
        m_dTransitionProbability = transitionProbability;
    }

    /**
     * Get the transition probability.
     *
     * @return the transition probability.
     */
    public double getTransitionProbability() {
        return m_dTransitionProbability;
    }

    /**
     * Get the destination state.
     *
     * @return the destination state.
     */
    public RMPIMarkovState getDestinationState() {
        return m_oDestinationState;
    }

    /**
     * Get the source state.
     *
     * @return the source state.
     */
    public RMPIMarkovState getSourceState() {
        return m_oSourceState;
    }
}
